Component({
  /**
   * 组件的属性列表
   */
  properties: {
    selected: {
      type: Number,
      value: 0
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    contentVisible: false,
    tabs: [
      {
        pagePath: "/pages/home/home",
        text: "元通",
        iconPath: "/icon/主页_1.png",
        selectedIconPath: "/icon/主页 (2).png"
      },
      {
        pagePath: "/pages/commodity/commodity",
        text: "商品",
        iconPath: "/icon/商品 (1).png",
        selectedIconPath: "/icon/商品_2.png"
      },
      {
        pagePath: "/pages/user/user",
        text: "用户",
        iconPath: "/icon/我的 (1).png",
        selectedIconPath: "/icon/我的_2.png"
      }
    ],
    current: 0
  },

  lifetimes: {
    attached: function() {
      // 组件加载时检查内容可见性
      this.checkContentVisibility();
      
      // 设置当前选中的标签
      this.setData({
        current: this.properties.selected
      });
    },
    
    // 组件显示时重新检查内容可见性
    ready: function() {
      this.checkContentVisibility();
    }
  },

  // 页面可见性变化时触发
  pageLifetimes: {
    show: function() {
      // 页面显示时再次检查内容可见性
      this.checkContentVisibility();
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 检查内容是否应该显示
    checkContentVisibility: function() {
      // 获取app实例
      const app = getApp();
      // 使用app中的全局方法检查内容可见性
      const isVisible = app.checkContentVisibility();
      
      // 静默设置状态，不显示任何提示
      this.setData({
        contentVisible: isVisible
      });
      
      return isVisible;
    },
    
    // 切换Tab
    switchTab: function(e) {
      const data = e.currentTarget.dataset;
      const index = data.index;
      const path = data.path;
      
      // 如果点击的是商品或用户标签，且内容不可见，则不进行跳转
      if (!this.data.contentVisible && (index === 1 || index === 2)) {
        return;
      }
      
      // 如果点击的就是当前页，不做任何处理
      if (index === this.data.current) {
        return;
      }
      
      // 更新当前选中的标签
      this.setData({
        current: index
      });
      
      // 使用重定向导航方式替代tabBar跳转
      wx.redirectTo({
        url: path
      });
    }
  }
}) 